/*
 *  Copyright 2009 David Kuhn <david.s.kuhn at gmail.com>.
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 *  under the License.
 */
package com.google.code.teamtools.domain.impl;

import com.google.code.teamtools.domain.IPerson;
import com.google.code.teamtools.domain.IProject;

/**
 * 
 * @author David Kuhn
 */
public class Project implements IProject
{
	private Long id = null;
	private IPerson manager;
	private String code;
	private String name;

	public Project()
	{
	}
	
	public Project(Long id)
	{
	    setId(id);
	}

	public Project(String code)
	{
		setCode(code);
	}

	public Project(String code, String name)
	{
		setCode(code);
		setName(name);
	}
	
	/* (non-Javadoc)
	 * @see com.google.code.teamtools.domain.IEntity#getId()
	 */
	public Long getId()
	{
	    return id;
	}

	/* (non-Javadoc)
	 * @see com.google.code.teamtools.domain.IProject#getCode()
	 */
	public String getCode()
	{
		return code;
	}

	/* (non-Javadoc)
	 * @see com.google.code.teamtools.domain.IProject#getManager()
	 */
	public IPerson getManager()
	{
	    return manager;
	}
	
	/* (non-Javadoc)
	 * @see com.google.code.teamtools.domain.IProject#getName()
	 */
	public String getName()
	{
		return name;
	}

	/* (non-Javadoc)
	 * @see com.google.code.teamtools.domain.IProject#setCode(java.lang.String)
	 */
	public void setCode(String code)
	{
		this.code = code;
	}
	
	/* (non-Javadoc)
	 * @see com.google.code.teamtools.domain.IProject#setManager(com.google.code.teamtools.domain.IPerson)
	 */
	public void setManager(IPerson manager)
	{
	    this.manager = manager;
	}

	/* (non-Javadoc)
	 * @see com.google.code.teamtools.domain.IProject#setName(java.lang.String)
	 */
	public void setName(String name)
	{
		this.name = name;
	}
	
	private void setId(Long id)
	{
		this.id = id;
	}
}
